// 1. 获取数据库引用
const db = wx.cloud.database().collection("videos");
let time = '';
let file_id = '';
// 获取标准年月日
let getDate = function () {
  var date = new Date();
  var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;
  var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
  return date.getFullYear() + '-' + month + '-' + day;
};
Page({

  /**
   * 页面的初始数据
   */
  data: {
    data: [],
    userinfo:'',
    id:''
  },
  get_data() {
    
    var id = this.data.id;
        wx.cloud.callFunction({
        name: "get_message",
        data: {
          db_name: "videos",
          id
        },
        success: res => {
          var data = [...res.result.data].reverse();
          wx.hideLoading();
          if(data.length==0){
            wx.showToast({
              title: '快来上传你的第一个视频吧',
              duration: 3000,
              icon: "none"
            })
          }
          this.setData({
            data,
          });
          
        },
        fail: err =>{
          wx.hideLoading();
          wx.showToast({
            title: '请求数据失败',
            icon: 'none',
           
          });
          
        }
      })
      
    
  },
  upvideo() {
    wx.chooseVideo({
      sourceType: ['album', 'camera'],
      maxDuration: 60,
      success: (res) => {
        wx.showLoading({
          title: '正在上传中...',
        })
       // console.log(res.tempFilePath)//视频的临时路径
        this.video(res.tempFilePath)
      },
      fail: err => {
        wx.showToast({
          title: '上传失败',
          icon: 'none'
        
        });
      }
    })
  },
  //上传到云服务器
  video(tempFilePath) {
    wx.cloud.uploadFile({
      cloudPath: new Date().getTime() +"." + tempFilePath.split("").reverse().join("").split(".")[0].split("").reverse().join(""),
      filePath: tempFilePath, // 文件路径
      success: res => {
        // get resource ID
     
        //
        file_id = res.fileID;
        time = getDate();
        db.add({
          data: {
            file_id,
            time
          },
          success: res => {
            this.get_data();
            wx.showToast({
              title: '上传成功',
            });
           
          },
          fail: err => {
            wx.showToast({
              title: '上传失败',
              icon: 'none'
              
            });
          }
        })
        //
      },
      fail: err => {
        wx.showToast({
          title: '上传失败',
          icon: 'none'
      
        });
      }
    })
  },
  //删除视频
  remove(e) {
    wx.showModal({
      title: '提示',
      content: '您确定要删除？',
      success:(res)=> {
        if (res.confirm) {
          var id = e.currentTarget.dataset.id;
          var index = e.currentTarget.dataset.index;
          var fileid = e.currentTarget.dataset.fileid
          db.doc(id).remove({
            success: () => {

              var data = this.data.data;
              data.splice(index, 1);
              this.setData({
                data
              })
              //删除云端的视频
              wx.cloud.deleteFile({
                fileList: [fileid],
                success: res => {
                  // handle success
                  //console.log(res.fileList) ;
                  wx.showToast({
                    title: '删除成功',
                  })
                },
                fail:()=> {
                  wx.showToast({
                    title: '删除失败',
                    icon: 'none'
                    
                  });
                }
              })
            },
            fail: () => {
              wx.showToast({
                title: '删除失败',
                icon: 'none'

              });
            }
          })
          //console.log('用户点击确定')
        } else if (res.cancel) {
          //console.log('用户点击取消')
        }
      }
    })
    
    
  },
  //下载视频
  download(e) {
    //
    var fileID = e.currentTarget.dataset.fileid;
    console.log(fileID)
    //
    wx.getSetting({
      success(res) {
        console.log(res)
        if (!res.authSetting['scope.writePhotosAlbum']) {
          wx.openSetting({
            success(res) {
              //拒绝授权后重新提示授权，并授权成功
            }
          })
        } else {
          wx.showToast({
            title: '正在下载中...',
          })
          //
          wx.cloud.downloadFile({
            fileID,
            success: (res) => {
              if (res.statusCode === 200) {
                let img = res.tempFilePath;
                console.log(img)
                wx.saveVideoToPhotosAlbum({
                  filePath: img,
                  success(res) {
                    wx.showToast({
                      title: '保存成功',
                      icon: 'success',
                      duration: 2000
                    });
                  },
                  fail(res) {
                    wx.showToast({
                      title: '保存失败',
                      icon: 'none',
                      duration: 2000
                    });
                  }
                })
              }
            },
            fail: err => {
              wx.showToast({
                title: '保存失败',
                icon: 'none'

              });
            }
          })
          //
        }
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    var userinfo = wx.getStorageSync("userinfo") || '';
    var id = wx.getStorageSync("id") || '';
    this.setData({
      userinfo,
      id
    });
    //如果用户登录了，就初始化数据
    if (userinfo) {
      wx.showLoading({
        title: '加载中...',
      });
      this.get_data();

    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.onShow();
    setTimeout(function () {
      wx.stopPullDownRefresh();
    }, 1500)

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    wx.showToast({
      title: '没有更多数据啦',
      icon: "none"
    }) 
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})